// 开启数据库软件：net start mongodb
//引入第三方模块mongoose
const mongoose = require("mongoose");


// 用 mongoose.connect方法连接数据库：返回的值是promise对象
mongoose.connect("mongodb://localhost/playground",{useNewUrlParser:true })
		.then(() => {console.log("数据库连接成功！")})
		.catch(err => {console.log(err,'数据库连接失败！')});


// 创建集合规则:调用mongoose.Schema这个构造函数创建实例对象（也是构造函数）
// 在 mongoose.Schema构造函数传入一个对象的参数
const userSchema = new mongoose.Schema({
	name:String,
	author:String,
	age:Number,
	email:String,
	password:String,
	hobbies:[String]


})
let user= new mongoose.model("User",userSchema) ;





// 文档删除
// 1、单个删除：集合.findOneAndDelete({查询条件})
// （1）查找到一条文档并删除，返回删除的文档
// （2）如果查询条件匹配到多条文档将会删除第一个匹配的文档
// user.findOneAndDelete({_id:"5ec6765bcd030521f8aa4bc7"}).then(result =>{console.log(result)});

// 1、多个删除：集合.deleteMany({条件})

// user.deleteMany({}).then(result =>{console.log(result)});






// 导入现有的json数据库



// 更新文档
// 1、更新集合中的一个文档:集合.updateOne({查询条件}，{要修改的条件})
// user.updateOne({name:"周一"},{name:"周999999"}).then(result=>{console.log((result))});

// 1、更新集合中的多个文档:集合.updateMany({查询条件}，{要修改的条件})
user.updateMany({hobbies:[]},{hobbies:["吃饭","睡觉","打豆豆"]}).then(result=>{console.log((result))});



